// 配置项数据类型
export type ConfigValueType = 'string' | 'number' | 'boolean' | 'json' | 'array';

// 配置项查询参数
export interface ConfigQuery {
  configName?: string
  configKey?: string
  groupId?: string
  page: number
  pageSize: number
}

/**
 * 配置项
 */
export interface Config {
  id: string
  groupId: string
  configName: string
  configKey: string
  configValue: string
  valueType: ConfigValueType
  builtIn: boolean
  remark?: string
  createTime?: string
  updateTime?: string
}

/**
 * 创建配置项
 */
export interface CreateConfig {
  /** 分组ID */
  groupId: string
  /** 配置名称 */
  configName: string
  /** 配置键名 */
  configKey: string
  /** 配置值 */
  configValue: string
  /** 值类型 */
  valueType: ConfigValueType
  /** 是否内置 */
  builtIn: boolean
  /** 备注 */
  remark?: string
}

/**
 * 更新配置项
 */
export interface UpdateConfig {
  /** 分组ID */
  groupId?: string
  /** 配置名称 */
  configName?: string
  /** 配置值 */
  configValue?: string
  /** 值类型 */
  valueType?: ConfigValueType
  /** 是否内置 */
  builtIn?: boolean
  /** 备注 */
  remark?: string
}